<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Bcc Instruction</title>
<link href="../edit68k.css" rel="stylesheet" type="text/css">
</head>

<body>
<h1 class="heading">Bcc Instruction<BR>
<hr noshade></h1>
        <BR>
          <span class="text">This instruction will cause a branch in the program if certain flags are set. There are fifteen ways of checking the flags. Each of them has a symbol of two letters which will replace the "cc" in "Bcc".</span></P>
          <br>
          <br>          
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
            <TBODY>
              <TR>
                <TD width="11%" class="text">BCC</TD>
                <TD width="89%" class="text">Branch Carry Clear - Branch if the C-flag is 0.</TD>
              </TR>
              <TR>
                <TD width="11%" class="text">BCS</TD>
                <TD width="89%" class="text">Branch Carry Set - Branch if the C-flag is 1.</TD>
              </TR>
              <TR>
                <TD width="11%" class="text">BEQ</TD>
                <TD width="89%" class="text">Branch EQual - Branch if the Z-flag is 1.</TD>
              </TR>
              <TR>
                <TD width="11%" class="text">BNE</TD>
                <TD width="89%" class="text">Branch Not Equal - Branch if the Z-flag is 0.</TD>
              </TR>
              <TR>
                <TD width="11%" class="text">BGE</TD>
                <TD width="89%" class="text">Branch Greater or Equal - Branch if N and V are equal.</TD>
              </TR>
              <TR>
                <TD width="11%" class="text">BGT</TD>
                <TD width="89%" class="text">Branch Greater Than - Branch if N and V are equal and Z=0.</TD>
              </TR>
              <TR>
                <TD width="11%" class="text">BHI</TD>
                <TD width="89%" class="text">Branch HIgher than - Branch if both C and Z are 0.</TD>
              </TR>
              <TR>
                <TD width="11%" class="text">BLE</TD>
                <TD width="89%" class="text">Branch Less or Equal - Branch if Z=1 or if N and V are different.</TD>
              </TR>
              <TR>
                <TD width="11%" class="text">BLS</TD>
                <TD width="89%" class="text">Branch Lower or Same - Branch if C=1 or Z=1.</TD>
              </TR>
              <TR>
                <TD width="11%" class="text">BLT</TD>
                <TD width="89%" class="text">Branch Less Than - Branch if N and V are different.</TD>
              </TR>
              <TR>
                <TD width="11%" class="text">BMI</TD>
                <TD width="89%" class="text">Branch MInus - Branch if N=1.</TD>
              </TR>
              <TR>
                <TD width="11%" class="text">BPL</TD>
                <TD width="89%" class="text">Branch PLus - Branch if N=0.</TD>
              </TR>
              <TR>
                <TD width="11%" class="text">BVC</TD>
                <TD width="89%" class="text">Branch V Clear - Branch if V=0</TD>
              </TR>
              <TR>
                <TD width="11%" class="text">BVS</TD>
                <TD width="89%" class="text">Branch V Set - Branch if V=1.</TD>
              </TR>
              <TR>
                <TD width="11%" class="text">BRA</TD>
                <TD width="89%" class="text">BRanch Always</TD>
              </TR>
            </TBODY>
</TABLE>
          <P class="text">Some conditions are pretty similar. BGE, BGT, BLE, BLT should be used when using signed integers and BHI and BLS when using unsigned integers.<BR>
          <BR>
  ADDRESS METHODS: No special. You specify a label, which the compiler will change to a relative address, byte or word depending on how far you will jump.<BR>
          <BR>
  		DATA LENGTH: Short, Long<BR>
  <BR>
  FLAGS: Unaffected</P>
          <TABLE border=0 cellPadding=0 cellSpacing=0 width="58%">
            <TBODY>
              <TR>
                <TD width="27%" rowSpan=2 class="text">SYNTAX:</TD>
                <TD width="73%" class="text">Bcc.S &lt;label&gt;</TD>
              </TR>
              <TR>
                <TD width="73%" class="text">Bcc.L &lt;label&gt;</TD>
              </TR>
            </TBODY>
          </TABLE>
          <P><span class="text">You do not have to add .S or .L, the compiler will choose the best syntax.<BR>
          EASy68K will accept .B or .S to force 1-byte offsets and .W or .L to 
			force 2-byte offsets.</span></P>
          <span class="text">
  </span>
</body>
</html>
